package org.dezenho.server.RN.Teste;

import static org.junit.Assert.assertNotNull;

import java.util.ArrayList;
import java.util.List;

import org.dezenho.common.RMI.ClientAcertadorMoq;
import org.dezenho.common.RMI.ClientMoq;
import org.dezenho.server.RN.Jogador;
import org.dezenho.server.RN.Partida;
import org.junit.BeforeClass;
import org.junit.Test;

/**
 * Testes para a classe Partida
 * 
 * @author marcelasobrinhopereira
 * 
 */
public class TestePartida {

	private Partida partida;
	private static List<Jogador> list = new ArrayList<Jogador>();

	/**
	 * Inicializa�ao dos jogadores
	 * 
	 * @throws Exception
	 */
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		Jogador jogador1 = new Jogador(new ClientMoq(), "1", "1");
		list.add(jogador1);
		Jogador jogador2 = new Jogador(new ClientMoq(), "2", "2");
		list.add(jogador2);
		Jogador jogador3 = new Jogador(new ClientAcertadorMoq(), "3", "3");
		list.add(jogador3);
		Jogador jogador4 = new Jogador(new ClientMoq(), "4", "4");
		list.add(jogador4);
	}

	/**
	 * Teste do m�todo iniciaPartida
	 */
	@Test
	public void testeIniciaPartida() {
		partida = new Partida(list, new Integer(1));
		partida.iniciaPartida();
		// Os papeis s�o definidos
		for (Jogador jogador : partida.getJogadores()) {
			assertNotNull(jogador.getPapel());
		}
		// A rodada � setada na partida
		assertNotNull(partida.getRodada());
	}
}
